1. Field of the Invention
The present invention relates to the field of computer systems. More specifically, the present invention relates to methods and apparatuses associated with the distribution or provision of source files to other computer systems.
2. Background Information
With the recent advances in microprocessor, telecommunication and networking technology, increasing number of computer systems are being networked together. In turn, increasing number of situations arise where source files have to be transferred from one computer system to another computer system. The term "source files" as used herein includes but not limited to compilable or interpretable source files written in machine programming languages such as C, C++, HTML, XML, JAVA.TM., JAVAScript, and so forth. For example, everyday, millions of users are connected to the Internet downloading web pages from a multitude of web sites. Similarly, millions of users are doing the same within thousands of "corporate" intranets. In a new user centric software distribution paradigm, disclosed in co-pending U.S. patent application Ser. No. 09/177,443, filed contemporaneously, and entitled "User centric source control", it is envisioned that software products are distributed to client systems or their proxies in source form. All these activities further exacerbate the well known bandwidth problem confronting private as well as public networks. (Note that the "user centric" approach to source control contributes to the bandwidth problem only in the sense that the approach is expected to increase the demand for source file transmission. For a given set of source files, its delta feature actually reduces bandwidth demand for maintaining and updating the set of source files.)
Various compression/decompression techniques are known in the art in the data or link layer to reduce the amount of data that needs to be transmitted from a sender to a receiver. For examples, a dictionary based approach replacing previously transmitted character string (e.g. "this string has been sent before") with a code is often employed in modem communication; the run length encoding approach (e.g. encoding a series of 10 0-bit as [0, 10]) is often employed in video signal compression, and a code based approach supplying the identity of a linear excitation code vector is often employed in audio compression. However, notwithstanding these multitude of data or link layer compression/decompression techniques available, as evident by the amount of research and development going into Quality of Service, Bandwidth Reservation, Virtual Private Network, and so forth, the problem of bandwidth in private as well as public networks is expected to remain with the computer and communication industry for years to come.
Thus, further improvement or contribution to alleviating the bandwidth problem, in particular, improvement that further advances the connectivity and exchange of information between computer systems, is desired.